SPARK: A High-Lev l Synthesis Framework For Applying Parallelizing Compiler Transformations

نویسندگان

  • Sumit Gupta
  • Nikil D. Dutt
  • Rajesh K. Gupta
  • Alexandru Nicolau
چکیده

This paper presents a modular and extensible high-level synthesis research system, called SPARK, that takes a behavioral description in ANSI-C as input and produces synthesizable register-transfer level VHDL. SPARK uses parallelizing compiler technology developed previously to enhance instruction-level parallelism and re-instruments it for high-level synthesis by incorporating ideas of mutual exclusivity of operations, resource sharing and hardware cost models. In this paper, we present the design flow through the SPARK system, a set of transformations that include speculative code motions and dynamic transformations and show how these transformations and other optimizing synthesis and compiler techniques are employed by a scheduling heuristic. Experiments are performed on two moderately complex industrial applications, namely, MPEG-1 and the GIMP image processing tool. The results show that the various code transformations lead to up to 70 % improvements in performance without any increase in the overall area and critical path of the final synthesized design.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SPARK : A High-Level Synthesis Framework For Applying Parallelizing Compiler Transformations∗†

This paper presents a modular and extensible high-level synthesis research system, called SPARK, that takes a behavioral description in ANSI-C as input and produces synthesizable register-transfer level VHDL. SPARK uses parallelizing compiler technology developed previously to enhance instruction-level parallelism and re-instruments it for high-level synthesis by incorporating ideas of mutual e...

متن کامل

Coupling Loop Transformations and High-Level Synthesis

Résumé In this paper we present our study of adding an advanced preprocessing code transformation step to high-level synthesis (HLS) tools. Our approach is to use advanced state-of-the-art compiler frontend as an independent C-to-C preprocessing step before synthesis. By using this approach, recent state-ofthe-art compiler advances could be used directly in HLS, eliminating their reengineering ...

متن کامل

10 Parallelizing High - Level Synthesis : A Code Transformational Approach to High - Level Synthesis

Synthesis is the process of generating circuit implementations from descriptions of what a component does. Synthesis in part consists of refinement, elaboration as well as transformations and optimizations at multiple levels to generate circuits that compare favorably with manual designs. High-level synthesis (HLS) or behavioral synthesis specifically refers to circuit synthesis from algorithmi...

متن کامل

Multi-transformations: Code Generation and Validity

In this paper we present a generalization of the framework of unimodular loop transformations for parallelizing compilers, called multitransformations. Multi-transformations consist of applying a di erent unimodular transformation to the iteration space of each statement in the loop body, and include also alignments. Two key aspects are considered in this paper: the generation of e cient code t...

متن کامل

A Proof Theory for Loop-Parallelizing Transformations

The microprocessor industry has embraced multicore architectures as the new dominant design paradigm. Harnessing the full power of such computers requires writing multithreaded programs, but regardless of whether one is writing a program from scratch or porting an existing single-threaded program, concurrency is hard to implement correctly and often reduces the legibility and maintainability of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003